#ifndef PARAFLUIDORIENTEDOBJECT_H
#define PARAFLUIDORIENTEDOBJECT_H

#include "parafluidobject.h"
#include "parafluidorientation.h"

namespace ParaFluid
{
	
	/**
	* A Object that has a Position and an Orientation
	*/
	class OrientedObject
		: public Object
	{
		
	public:
		
		/**
		* Destructor
		*/
		virtual ~OrientedObject();
		
		/**
		* Default Constructor
		*/
		OrientedObject();
		
		/**
		* Constructor with Position and Orientation
		*/
		OrientedObject(const Vector & pos, const Orientation & orient);
		
		/**
		* Copy Constructor
		*/
		OrientedObject(const OrientedObject & other);
		
		/**
		* Assignment Operator
		*/
		OrientedObject & operator= (const OrientedObject & rhs);
		
		/**
		* Comparison Operator
		*/
		bool operator== (const OrientedObject & rhs) const;
		
		/**
		* Orientation
		*/
		Orientation orientation;
		
	};
	
}

#endif
